package d5_homework;

import java.util.Scanner;

public class FirstQuestion01 {
    public static void main(String[] args) {
        //目标: 完成不死神兔的问题
        //递归的三要素
        //递归的公式: x 代表月份
        //          f(1) = 1(小兔)
        //          f(2) = 1(大兔)
        //          f(3) = 2(小兔和大兔)
        //          f(4) = 3((小兔和两对大兔)
        //          f(5) = 5(小兔和三对大兔)
        //          ...
        //          f(x) = f(x-1) + f(x -2)
        //递归方向
        //3、创建扫描器
        Scanner sc = new Scanner(System.in);
        //提醒用户输入数字
        System.out.println("请输入int数字, 代表月份:");
        //4、获取int数字代表月份
        int month = sc.nextInt();
        //5、调用getCount方法传递月份, 获取结果并输出
        System.out.println("一年内繁殖成: "+getCount(month) + "对兔子");
    }

    //独立功能独立成方法
    public static int getCount(int monthCount) {
        //1、进行递归退出的条件
        //判断如果month的值是1或者2 ,直接返回1
        if (monthCount == 1 || monthCount == 2) {
            return 1;
        }

        //2、开始递归
        //否则递归调用getCount方法分别传递month-1 和 month -2, 累加求和并返回
        return getCount(monthCount - 1) +
                getCount(monthCount - 2);
    }
}
